home *** CD-ROM | disk | FTP | other *** search
- README PcTV v0.98
-
-
- [If you don't read french, try the altavista translator
- (www.altavista.digital.com). I hope to translate this readme soon :) ]
-
-
- -----------------------------------------------------------------------------
- Qu'est ce que PcTV :
- -----------------------------------------------------------------------------
- Ce projet etait au depart (et il l'est toujours !) un soft de television de
- type 100hz sous DOS en plein ecran qui remplacerait l'execrable soft fourni
- sous Windows 95 avec la carte Miro PCTV. En effet, sous Windows 95, l'image
- est floue et moche parce que le soft filtre trop l'image et gere mal
- l'entrelacement des trames paires et impaires. C'est dommage, car le chip
- BT848 est un excellent composant, tres parametrable, mais pas vraiment facile
- d'acces pour un programmeur.
-
- Comme je suis un peu curieux, je me suis amuse a implementer un algorithme
- qui effectue une fonction inverse de cryptage (a double cle) concernant un
- procede d'emission video, et qui etait decrite sur une page web quelque part
- sur Internet, et en partant d'un algorithme existant deja (je remercie au
- passage la personne qui me l'a donne, et qui se reconnaitra). Ce procede
- utilise une cle fixe et une cle variable :
- - PcTV a besoin de la cle fixe, qui doit lui etre fournie sous la forme
- d'un fichier texte appele "key.txt" dans le repertoire de PcTV. Il s'agit
- tout simplement d'un fichier texte contenant 256 lignes, chaque ligne
- comportant un nombre compris entre 0 et 31. Libre a vous d'utiliser les
- valeurs que vous voulez du moment que ces valeurs ne correspondent pas a des
- valeurs utilisees pour la diffusion de chaines de television a peage. Ne me
- demandez pas de tels fichiers, je ne sais pas si ils existent, je n'en
- possede pas, et au cas ou vous en trouveriez je ne suis pas interesse et je
- ne pourrais que formuler l'avertissement suivant : ce logiciel ne doit pas
- etre utilise pour regarder des chaines de television pour lesquelles un
- abonnement est necessaire dans votre pays, et ne doit etre utilise que dans
- un but educatif.
- - pour ce qui est de la cle variable, PcTV se charge de la retrouver tout
- seul comme un grand.
-
-
-
- -----------------------------------------------------------------------------
- Contenu de l'archive
- -----------------------------------------------------------------------------
- L'archive contient :
- - pctv.exe : l'executable de PcTV
- - cwsdpmi.exe : le serveur DPMI
- - readme.txt : ce readme
- - changelog.txt : la liste des modifications apportees a PcTV, et les
- evolutions futures
-
-
-
- -----------------------------------------------------------------------------
- Pourquoi la version 0.9 ?
- -----------------------------------------------------------------------------
- Parce que PcTV n'est pas termine ! Je souhaite toujours en faire une tele
- 100hz (sans gestion d'algorithme particulier pour ce mode), et y ajouter
- d'autres fonctionnalites (voir changelog.txt)
-
-
-
- -----------------------------------------------------------------------------
- Configuration necessaire :
- -----------------------------------------------------------------------------
- PcTV devrait fonctionner sur les machines suivantes :
- - Pentium (tous les pentiums). Il faut au moins un P133 avec 512K de cache
- pour obtenir des performances decentes. PcTV est plus ou moins allergique au
- Pentium II dans sa version actuelle ; il fonctionne bien mais environ 2 a 3
- fois plus lentement que sur un Pentium "simple" a la meme frequence. C'est
- totalement incomprehensible et inexplicable ... :-(
-
- - 24 Mo de RAM minimum (il consomme environ 16Mo). SDRAM conseillee ...
-
- - Une carte TV a base de chip BrookTree BT848A ou BT849A (peut-etre meme une
- BT848 de base). Voici une liste non exhaustive des cartes qui devraient
- fonctionner : Hauppauge Wincast TV, Miro PCTV, STB TV PCI, Diamond DTV2000,
- Videologic Captivator PCI, Smart Video Recorder III, MaxiTV PCI 2. Histoire
- de clarifier les choses les cartes suivantes ne disposent PAS d'un chip BT848
- et donc ne fonctionneront PAS : Miro DC10 & DC20 & DC30, MaxiTV PCI 1, Xpert
- @ ..., Matrox rainbow runner, cartes nVidia RIVA 128. Il n'y aura jamais de
- portage de PcTV sur ces dernieres cartes car ce soft est completement
- specifique a la BT848
-
- - Une carte video supportant la norme VESA 2.0, et avec support du frame
- buffer lineaire. Si votre carte n'est pas compatible VESA 2.0 ou que PcTV ne
- fonctionne pas, essayez l'utilitaire "Display Doctor" disponible chez
- www.scitechsoft.com, qui rend la plupart des cartes compatibles VESA 2.0.
-
- - Optionnellement, une carte son compatible Sound Blaster 16 (donc une SB16,
- une SB32 ou une SB64). Contrairement a ce qui se dit, seules les vraies Sound
- Blaster de Creative Labs sont compatibles SB16 (a une exception pres), donc
- PcTV ne fonctionnera pas avec les cartes dites "compatibles Sound Blaster"
- (Maxi Sound, etc...). D'autre part, PcTV ne fonctionne pas non plus avec les
- cartes Creative Labs de type Vibra 16. Creative Labs affirme que ces cartes
- sont compatibles SB16 alors que c'est faux (ces cartes n'ont pas de canal DMA
- 16 bits !), et ment a ses clients en invoquant des problemes de gestion DMA
- sur certaines cartes meres ...
-
-
-
- -----------------------------------------------------------------------------
- Un peu de theorie :
- -----------------------------------------------------------------------------
- La cle variable possede 32768 combinaisons, et le travail de l'algorithme
- consiste a retrouver le plus vite possible la bonne. L'algorithme repose sur
- le principe suivant : "si deux lignes eloignees l'une de l'autre sur l'image
- initiale se retrouvent cote a cote en appliquant une certaine cle variable,
- alors il y a des chances que cette cle soit la bonne". Bien entendu, deux
- lignes ne suffisent pas pour certifier qu'une cle variable est la bonne. Par
- la suite, j'appelerai ces couples de lignes des "candidates".
-
- Mais comment savoir si deux lignes sont cote a cote ? En calculant par
- exemple leur "taux de correlation" : si la somme des valeurs absolues de la
- difference de luminance de chaque pixel des deux lignes est "petite" alors il
- y a des chances que ces lignes soient proches. Le succes de cette methode
- depend du fait que la plupart des lignes de l'image soient relativement
- differentes. C'est en general le cas en video, sauf lorsque l'image est tres
- uniforme (par exemple un fond de couleur), ou lorsqu'il y a des symetries
- verticales (une figure geometrique de couleur uniforme et a bords verticaux).
- En gros, on peut considerer que plus l'image est "diversifiee", mieux ca
- marche.
-
- Pour valider une cle variable, il faut donc :
- - selectionner un certain nombre de "candidates" pour un code donne. Cette
- notion s'appelle la "taille de bloc". Plus la taille de bloc est petite, plus
- l'algorithme est rapide, mais moins il est fiable. Une taille de bloc de 10
- correspond a 10 lignes candidates par code variable
- - retenir la cle variable qui obtient le meilleur score de correlation pour
- tous ses "candidates" (il suffit de sommer les taux de correlations
- individuels).
-
- Bien entendu, le nombre total de "candidates" necessaire est tres superieur a
- la "taille de bloc", et plus le nombre de "candidates" est grand, plus
- l'algorithme est lent, mais il est aussi plus fiable. Il existe des moyens de
- regler le ratio "nombre de candidates" / "taile de bloc" (voir les options de
- la ligne de commande). D'autre part, le nombre de pixels pour calculer les
- taux de correlation est inferieur au nombre de pixels par ligne (option -
- step). Bien sur, plus on prend de pixels, plus c'est fiable, mais moins ca va
- vite.
-
- Tous ces parametres influent donc enormement sur la vitesse de l'algorithme.
- Pour donner un ordre d'idee, avec une taille de bloc de 12, 800 candidates,
- et 4 pixels sur 16 (pctv -step 3), il faut pour chaque image :
- - calculer 800 taux de correlation (soit 800*2*(768*4/16)=307200 pixels a
- traiter)
- - scorer 32768*12=393216 possibilites.
- Multipliez ca par 25 et ce donne une idee des traitements necessaires pour
- traiter une seconde de video en temps reel.
-
- A cela s'ajoute (en 16 bits couleurs) :
- - 440k*25 = 11M transferes du bus PCI vers la memoire par la carte BT848
- - 11M transferes depuis la memoire vers la carte video.
- Ca nous fait 22M/s. L'utilisation d'un bus AGP doit diviser par deux
- l'occupation du bus PCI. L'occupation du bus a un impact non negligeable sur
- les performances de l'algorithme, c'est ce qui explique en partie la perte de
- framerate entre les versions 8, 16 et 32 bits.
-
- Ca donne le vertige non ?
-
-
-
- -----------------------------------------------------------------------------
- Installation :
- -----------------------------------------------------------------------------
- Parce que PcTV attaque le materiel a un tres bas niveau, il ne fonctionne que
- sous DOS natif. Par DOS natif, j'entends une machine demarree en mode DOS, et
- non pas une session DOS sous Windows 95 que ce soit en fenetre ou en plein
- ecran, ou meme avec des parametres de demarrage speciaux. PcTV ne marchera
- *jamais* sous W95, tout simplement parce qu'il fait appel a des API DOS que
- W95 n'implemente pas.
-
- Cependant, si vous demarrez PcTV sous Windows 95, ce dernier sera
- suffisamment "smart" pour s'apercevoir que ce soft ne marche que sous DOS et
- vous proposera une configuration specifique pour demarrer ce programme sous
- DOS (apres reboot) avec les options qui vont bien. Ca fonctionne bien.
-
- Donc pour utiliser PcTV, il faudra creer une configuration de demarrage pour
- DOS avec les lignes suivantes dans votre fichier config.sys (memoire XMS) :
- DOS=HIGH,UMB
- Device=C:\WINDOWS\Himem.Sys
- DeviceHigh=C:\WINDOWS\EMM386.Exe NOEMS
-
- PcTV fonctionne en mode 32 bits protege. Il utilise donc un serveur DPMI
- (cwsdpmi.exe qui est public) qui doit etre installe dans le meme repertoire
- que PcTV.
-
- Ensuite, il faut configurer la carte son Sound Blaster (si necessaire). Deux
- cas sont possibles :
- - la carte est "Plug and Play" (SB 16 recente, SB32 ou SB64). Dans ce cas, il
- suffit de lancer l'utilitaire CTCM (fourni avec les drivers Creative Labs)
- avant PcTV. Cet utilitaire configure les registres internes, et de plus
- valorise automatiquement la variable BLASTER dont PcTV se sert pour retrouver
- la configuration de la carte son. Il n'est donc pas utile de valoriser la
- variable BLASTER soit-meme.
- - la carte n'est pas "Plug and Play" ; il s'agit donc probablement d'une
- ancienne SoundBlaster 16. Dans ce cas, il faut valoriser correctement la
- variable BLASTER avant de lancer PcTV et ca devrait fonctionner.
-
- Bien entendu, le fichier "key.txt" est necessaire. Un bon editeur de fichiers
- et des doigts feront l'affaire.
-
-
-
- -----------------------------------------------------------------------------
- Lancement :
- -----------------------------------------------------------------------------
- Il suffit de lancer pctv.exe, et de suivre les instructions. Il est possible
- de sortir a tout moment avec ESC, ou CTRL+C (utiliser ESC de preference).
-
-
-
- -----------------------------------------------------------------------------
- Performances :
- -----------------------------------------------------------------------------
- Vaste question ... Les performances dependent de nombreux parametres :
- - les options de la ligne de commande : elles permettent de faire varier le
- framerate de 10 a 50 fps au detriment et/ou au benefice de la qualite d'image
- (voir les options de la ligne de commande)
- - le PC lui-meme : pour ameliorer les performances je suggere les actions
- suivantes (dans l'ordre decroissant d'importance) :
- - porter le cache de second niveau a 512K,
- - utiliser une carte video AGP,
- - remplacer les barrettes FPM par des SDRAM ou des EDO
- - overclocker le bus (a vos risques et perils)
- - overclocker le pentium (a vos risques et perils)
- - utiliser un pentium MMX. PcTV ne gere pas specifiquement le MMX mais il
- adore leur cache primaire de 16K ; et il semble preferer les pentium MMX aux
- pentium II.
- - le choix du mode video utilise : le mode "niveau de gris" est entre 20 et
- 30% plus rapide
- - la qualite de la reception : meilleure est la qualite de reception, moins
- l'algorithme se trompe, et donc meilleur est le framerate. Il existe des
- options pour compenser une mauvaise qualite de reception (-btfilt, -btcore, -
- subs, -step, -block).
-
- La valeur "ideale" du framerate est de 25 img/s (vrai temps reel). Par
- defaut, le programme ne depassera pas cette valeur (si le PC est capable
- d'atteindre ce framerate bien sur). Il est cependant possible de supprimer
- cette limitation (un peu comme sur une 3dfx) juste pour voir a quelle vitesse
- peut aller le PC (voir l'option -bench).
-
- A titre indicatif, un P166 avec 512K de cache doit atteindre au moins 30 fps
- avec pctv -vmode 1 -res 3 et au moins 25 fps avec pctv -vmode 2 -res 3. Des
- statistiques sont disponibles en fin d'execution afin de verifier les
- performances obtenues :
- - total #frames : nombre total d'image capturees par la carte (25/s avec une
- reception normale)
- - total #unscrambled frames : nombre total d'image passees dans l'algorithme
- (25/s est la valeur optimale)
- - total #trashed frames : images capturees par la carte, mais jetees parce
- que l'algorithme ne les a pas prises a temps. Une valeur elevee indique que
- l'algorithme ne fait pas de temps reel
- - average FPS : vitesse d'affichage moyenne obtenue (<25 fps=pas de temps
- reel, 25 fps=temps reel, >25 fps=meilleur que temps reel en mode "bench").
- - raw video FPS : vitesse d'affichage obtenue en mode bench + preview (donc
- avec l'option -bench et sans l'option -skip). C'est une indication de la
- performance de la carte video et du bus PCI/AGP. Les valeurs peuvent etre
- tres elevees. Ex: 220 fps avec -res 3 -vmode 1, indique que le PC peut
- dessiner 768x287x220 = 49 millions de pixels/s lus + 49 millions ecris = 88
- millions de pixels/s (!) en plus des pixels transferes par la carte BT848.
-
-
-
- -----------------------------------------------------------------------------
- Options de lancement :
- -----------------------------------------------------------------------------
- Il existe de tres nombreuses options de lancement, divisees en trois
- categories :
- - les parametres de configuration (choix du standard video, source video,
- source audio, etc ...)
- - les parametres d'ajustement video (luminosite, etc ...)
- - les parametres d'ajustement audio (volume, etc ...)
- - les parametres qui agissent sur l'algorithme. La comprehension et la
- maitrise de ces derniers permet d'agir de maniere tres sensible sur les
- performances de l'algorithme.
-
- Ces parametres sont tous decrits comme suit :
- -parm : parametre de type VRAI/FAUX valorise a VRAI (ex: pctv -bench)
- -noparm : parametre de type VRAI/FAUX valorise a FAUX (ex: pctv -nobench)
- -parm[1|2$0] : parametre de type liste de valeurs. 1 et 2 sont les valeurs
- possibles, et 0 est la valeur prise par defaut si le parametre n'est pas
- specifie (ex: pctv -tuner 1)
- -parm[1..100$50] : parametre de type plage de valeurs. 1 et 100 sont les
- bornes de valeurs possibles, et 50 est la valeur prise par defaut si le
- parametre n'est pas specifie (ex : pctv -tuner 1 -freq 42525).
-
- Les parametres de lancement peuvent etre specifies comme suit :
- - directement sur la ligne de commande de pctv.exe (ex: pctv -vmode 2 -skip
- 2)
- - dans le fichier de configuration de PcTV (pctv.ini)
-
- Le fichier de configuration est un simple fichier texte a creer soit-meme et
- qui doit etre situe dans le meme repertoire que pctv.exe. Il comporte des
- sections contenant chacune une liste d'options a appliquer.
- Ex:
- [couleur_et_son]
- -vmode 2 -amode 2 -bench
- [yuv_direct]
- -tuner 0
- -vmode 4
- -res 1
- Les espaces, tabulations et retours chariots sont utilisables comme
- separateurs.
- Ex:
- [couleur_et_son] -vmode 2 -amode 2 -bench
- [yuv_direct] -tuner 0 -vmode 4 -res 1
- ... est un fichier de config correct.
- Pour "charger" une section de parametres, il suffit de la specifier sur la
- ligne de commande de PcTV comme suit : pctv -cfg section.
- Ex: pctv -cfg couleur_et_son est equivalent a pctv -vmode 2 -amode 2 -bench.
-
- Il existe de plus une section dite "par defaut" qui s'applique dans tous les
- cas et avant la section choisie. Elle s'appelle [default].
-
- Enfin l'ordre de chargement se fait comme suit :
- - section [default], si elle existe
- - section choisie par l'option -cfg, si necessaire
- - ligne de commande
- Ceci signifie qu'il est possible de surcharger un parametre d'une section sur
- une autre ou sur la ligne de commande.
- Ex:
- [couleur_et_son]
- -vmode 2 -amode 2 -bench
- [default]
- -fnct 2 -bestocc
-
- pctv -cfg couleur_et_son -amode 3 est equivalent a pctv -fnct 2 -
- bestocc -vmode 2 -amode 3 -bench
-
- Voila, tout ceci parait un peu complique, mais en fait c'est tres facile a
- utiliser !
-
-
- Description des parametres de configuration :
- ---------------------------------------------
-
- -iform [1|2|3$1] : "input format" : choix du standard de capture video
- (SECAM=1, PAL-N=2, PAL-BDGHI=3)
-
- -tuner [0..7$0] : "tuner/mux selection" : choix du tuner. Les valeurs
- possibles sont les suivantes :
- -tuner 0 ou pas de parametre : pas d'utilisation du tuner. Capture depuis
- l'entree video composite de la carte.
- -tuner 1 : autodetection du tuner. Cette option ne fonctionne qu'avec une
- carte de type MIRO PCTV. Pour les autres modeles de cartes, il faut specifier
- une valeur de tuner entre 2 et 7.
- -tuner 2 : tuner TEMIC PAL
- -tuner 3 : tuner TEMIC PAL-I
- -tuner 4 : tuner TEMIC SECAM
- -tuner 5 : tuner PHILIPS PAL
- -tuner 6 : tuner PHILIPS PAL-I
- -tuner 7 : tuner PHILIPS SECAM
-
- -tuneradr [0..15$-1] : pour les tuners recalciltrants, cette option permet de
- forcer son adresse I2C (l'argument est un offset par rapport a 0xc0). Pour
- utilisateurs "experimentes" seulement !
-
- -freq [0..99999$"aucune"] : "tuner frequency" : choix de la frequence de
- syntonisation du tuner a exprimer en Mhz multiplies par 100 (ex: -freq 42575
- pour 425.75 Mhz). Des tables de correspondance entre canal VHF/UHF (8 a 69)
- et frequence sont disponibles sur Internet sur les sites specialises dans la
- video.
-
- -chan1 a chan20 [1..99999$"aucune"] : "channel frequency" : permet d'associer
- une frequence particuliere a l'un des 20 canaux que PcTV peut memoriser (voir
- l'option -freq). Il est ensuite possible de parcourir ces canaux avec la
- touche TAB. Si l'option -freq n'est pas sur la ligne de commande, qu'un tuner
- est selectionne, et qu'au moins un canal est programme, alors PcTV se
- positionnera automatiquement dessus au demarrage. Les options -chanx rendent
- l'option -freq plus ou moins obsolete.
-
- -res [1|2|3$3] : "video resolution" : choix de la resolution d'affichage
- (dans l'ordre croissant de lenteur) :
- -res 1 : 400x300. Cette resolution n'est disponible que sur certaines
- cartes video, et en utilisant le driver UNIVBE (display doctor)
- -res 2 : 640x480
- -res 3 : 800x600. C'est le mode "normal" de fonctionnement.
-
- -vmode [1|2|3$1] : "video mode" : choix du mode d'affichage (dans l'ordre
- croissant de lenteur) :
- -vmode 1 : 256 niveaux de gris
- -vmode 2 : 65536 couleurs
- -vmode 3 : mode YUV, 65536 couleurs. Ce mode permet de corriger les
- couleurs fausse et reordonnant les infos de couleurs. A utiliser en
- conjonction avec la touche BACKSPACE qui permet durant l'affichage de choisir
- la phase de couleur initiale (il y a 2 possibilites et PcTV ne peut pas la
- trouver seul).
- -vmode 4 : mode YUV, 65536 couleurs mais avec une meilleure qualite que -
- vmode 3 (-vmode 3 a une resolution horizontale divisee par 2). Bien entendu,
- ca se paie en framerate. -vmode 4 est plutot destine a etre utilise avec -
- res1, alors que -vmode 3 fonctionne bien avec -res 3.
- -vmode 5 : 16 millions de couleurs. Ce mode n'apporte pas grand chose par
- rapport au mode -vmode 2, et coute cher en ressources CPU.
-
- -dscan [0|1|2$0] : "double scan" : -dscan 1 decale l'affichage d'une ligne
- vers le bas, afin de permettre l'utilisation de PcTV avec certaines cartes de
- convertion VGA/TV qui ne prennent qu'une ligne sur deux. -dscan 2 affiche
- chaque ligne en double, ce qui permet de rendre l'image plus lumineuse, mais
- coute cher en fps (entre 5 et 10 de moins). Voir aussi la touche I.
-
- -amode [0|1|2$0] : "audio mode" : choix du mode audio. L'entree son
- s'effectue sur l'entree ligne de la sound blaster. Dans le cas d'une source
- video externe (-tuner 0), connecter directement la source audio sur l'entree
- ligne. Sinon (utilisation du tuner de la carte BT848), connecter la sortie
- audio de la carte BT848 (cable fourni avec la carte BT848) sur l'entree ligne
- de la sound blaster. Voyons maintenant les modes disponibles :
- -amode 0 : pas de gestion du son (le parametre -asrc reste cependant actif)
- -amode 1 : gestion du son sans traitement particulier
- -amode 2 : son avec inversion du spectre autour de 12800 Hz
- (echantillonnage a 25600 hz). C'est la methode la plus rapide (perte de 2-3
- fps environ), mais elle ne fonctionne bien que si la carte son echantillonne
- precisement a la frequence demandee. Si ce n'est pas le cas (tres souvent !),
- il y aura des distorsions dans le son, et alors il faudra utiliser le mode 3
- (plus lent, mais beaucoup plus efficace).
- -amode 3 : son avec inversion du spectre autour de 12800 Hz
- (echantillonnage a 44100 hz), et compensation des erreurs d'echantillonnage
- de la carte son (voir parametre -ashift). Ce mode permet d'obtenir un son
- presque parfait (voir aussi -bass, et -treble, et toutes les touches
- associees), mais il est plus lent que le mode 2.
-
- -asrc [1..18$1] : "audio source" : selection de la source audio sur la carte
- BT848. La valeur a utiliser est differente pour chaque modele de carte (Miro,
- Hauppage, etc ...). Pour trouver la bonne valeur il suffit de toutes les
- essayer (voir aussi la touche /) !
-
- Description des parametres d'ajustement video :
- -----------------------------------------------
-
- -btdec [0..50$0] : "temporal decimation" : demande a la carte de sauter n
- images sur 50. Ceci peu reduire l'occupation de la bande passante du bus PCI
- au detriment du framerate.
-
- -btcore [0|1|2|3$0] : "luma coring'" : remplace les zones sombres par du noir
- sur l'image. Le seuil est reglable (PAS DE CORING=0, CORING CROISSANT=1 a 3).
- Ceci peut ameliorer la qualite de l'image dans des conditions de reception
- difficile.
-
- -btrange [0|1$0] : "luma extended range" : commutation en mode "luminance
- etendue". Cela permet d'obtenir des images plus contrastees.
-
- -btgamma [0|1$0] : "gamma correction removal" : commutation de la
- suppression de la correction gamma. Cela permet d'obtenir des images plus
- contrastees a condition d'agir ensuite sur le contraste et la luminosite.
-
- -btfilt [0|1|2|3|4$1] : utilisation d'un filtre de dithering (flou)
- horizontaux (PAS DE FILTRE=0, FILTRES CROISSANTS=de 1 a 4). L'ajout d'un
- filtrage important permet de compenser efficacement les problemes dus a une
- mauvaise reception video, ou a l'inverse de rendre l'image tres nette dans le
- cas d'une excellente reception. Remarquez qu'un filtre de niveau 1 est
- applique par defaut.
-
- -bright [0..255$128] : "brightness" : reglage de la luminosite.
-
- -sat [0..511$80] : "color saturation" : reglage du niveau des couleurs.
-
- -satbal [0..237$216] : "color balance" : reglage de la balance des couleurs.
-
- -contrast [0..511$216] : "contrast" : reglage du contraste.
-
- -crop1 [0..286$0] : "cropping1" : suppression de l'affichage des lignes
- situees au-dessus de la ligne specifiee en partant du haut (0 etant la
- premiere ligne en partant du haut de l'ecran).
-
- -crop2 [0..286$0] : "cropping2" : suppression de l'affichage des lignes
- situees au-dessous de la ligne specifiee (0 etant la premiere ligne en
- partant du bas de l'ecran). Ces deux options permettent de supprimer
- certaines parties non utiles de l'image dans le but d'accelerer l'affichage.
-
-
- Description des parametres d'ajustement audio :
- -----------------------------------------------
-
- -gain [0..3|0] : "gain" : modification du gain d'entree de la carte son. Voir
- aussi la touche 5
-
- -vol [0..31$10] : "volume" : volume sonore. Voir aussi les touches -/+
-
- -bass [0..15$8] : "bass level" : niveau des graves (gere en hardware). Voir
- aussi les touches D/F.
-
- -treble [0..15$8] : "treble level" : niveau des aigus (gere en hardware).
- Voir aussi les touches G/H.
-
- -ashift [0..512$256] : "sample frequency shift" : decalage autour de la
- frequence d'echantillonnage de la carte (valable uniquement avec l'option -
- amode 3). Cette option permet de corriger artificiellement la frequence
- d'echantillonnage de la carte. A faire a l'oreille et par dichotomie (le
- point milieu est a 256). Voir aussi les touches J/K/L/M.
-
-
- Description des parametres d'ajustement de l'algorithme :
- ---------------------------------------------------------
-
- -block [2..32$12] : "block size" : specifie la "taille de bloc". Ce parametre
- permet pratiquement de choisir le framerate. Plus la taille de bloc est
- faible, plus l'algorithme va vite, au detriment de sa fiabilite.
-
- -step [1|2|3|4$2] : "pixel step" : traite respectivement 1/16 (-step 1), 1/8,
- 1/4, 1/2 (-step 4) pixels de chaque ligne candidate. Plus le nombre de pixels
- est eleve, plus l'algorithme est fiable, mais plus il est lent.
-
- -subs : "pixel sub sampling" : effectue une moyenne de plusieurs pixels
- horizontaux avant correlation. Ceci permet de compenser (comme -btfilt) une
- mauvaise reception.
-
- -minocc [0..1000000$0] : "minimum occurrence required" : elimine des
- "candidates" celles qui ne sont pas communes a au moins "n" cles variables.
- Cette option sert a diminuer le nombre de "candidates", au profit de la
- vitesse de l'algorithme. Sa valeur est a determiner par dichotomie. Le
- nombre de "candidates" trouves est affiche a l'issue de la phase
- d'initialisation.
-
- -maxocc [0..1000000$1000000] : "maximum occurrence required" : la meme chose
- dans l'autre sens. Cette fois ci, on souhaite faire augmenter le nombre de
- "candidates".
-
- -bestocc : "choose best occurrences" : cette option permet de choisir la
- combinaison ideale, c'est-a-dire celle qui minimise le nombre de lignes
- candidates, et donc d'augmenter la vitesse de l'algorithme. Cependant, cela
- rend le precalcul des tables de correlations tres long. A utiliser
- conjointement avec les options -lim.
-
- -mindist [0..286$0] : "minimal distance required" : elimine des "candidates"
- celles dont la distance en pixels est inferieure a la valeur specifiee. Cette
- option sert a componser des erreurs de correlation dues au filtre
- d'interpolation vertical de la BT848 qui ne peut etre desactive. Une valeur 4
- est une bonne valeur, mais l'utilisation de ce parametre augmente le nombre
- de "candidates".
-
- -rbcheck : "red/blue error check" : permet d'eliminer des "candidates" les
- lignes bleues ou rouges provoquees par l'utilisation de cles qui perturbent
- la sequence de chrominance (SECAM uniquement). Celles-ci peuvent etre mal
- correllees car leur luminance n'est pas au bon niveau.
-
- -rbfilt : "red/blue error filter" : permet de ne pas afficher les lignes
- bleues ou rouges provoquees par l'utilisation de cles qui perturbent la
- sequence de chrominance (SECAM uniquement).
-
- -fnct [1|2$1] : "correlation function" : (abs(x1-x2) pour 1, abs(x1-x2)^2
- pour 2). A experimenter (pas d'impact sur la vitesse de l'algorithme). La
- valeur 2 PERMET DE GAGNER DE 5 A 10 FPS, mais fait plus d'erreurs dans
- certains cas.
-
- -lim1 [0..286|96] : "limit1" : suppression de la liste des "candidates" des
- lignes situees au-dessus de la ligne specifiee en partant du haut (0 etant la
- premiere ligne en partant du haut de l'ecran).
-
- -lim2 [0..286|96] : "limit2" : suppression de la liste des "candidates" des
- lignes situees au-dessous de la ligne specifiee en partant du bas (0 etant la
- premiere ligne en partant du bas de l'ecran).
-
- -lim3 et -lim4 fontionnent comme -lim1 et -lim2, ils permettent de
- selectionner une seconde plage sur l'image.
-
-
- Autres parametres :
- -------------------
-
- -bench : "benchmark" : suppression de la limitation a 25 img/s afin de
- determiner les performances du PC.
-
- -skip[0|1|2$0] : "skip to ..." : passe directement en mode previsualisation
- (-skip 1), ou affiche directement la video transformee par l'algorithme (-
- skip 2).
-
- -trace : "trace" : trace la sequence de cles variables trouvees dans un
- fichier nomme "trace.txt".
-
- -key [0..9$0] : "keyfile selection" : permet de choisir un autre fichier cle
- que le fichier key.txt (equivalent a -key 0). Pour une valeur 1 le fichier
- key1.txt est selectionne, pour la valeur 2 c'est le fichier key2.txt qui est
- choisi, et ainsi de suite.
-
-
-
- -----------------------------------------------------------------------------
- Ajustements durant le fonctionnement :
- -----------------------------------------------------------------------------
- Il est possible d'ajuster certains parametres dynamiquement durant le
- fonctionnement de PcTV.
-
- Voici la liste des commandes disponibles :
-
- - touches 1 et 3 : ajustement du niveau de couleur,
-
- - touches 2 et 8 : balance des couleurs,
-
- - touches 4 et 6 : ajustement du contraste,
-
- - touches 7 et 8 : ajustement de la luminosite,
-
- - touches Q et S : permet d'ajuster le delai de recherche de la salve de
- "color burst". Cela permet d'eliminer ou d'attenuer les lignes bleues ou
- rouges provoquees par l'utilisation de cles qui perturbent la sequence de
- chrominance.
-
- - touche TAB : passage au prochain canal memorise (voir les options -chan1 a
- -chan20)
-
- - touches W et X : ajustement de la frequence syntonisee sur le tuner (-1 Mhz
- pour W, +1 Mhz pour X)
-
- - touches C et V : meme action mais avec des pas de 1/16 Mhz (reglage fin)
-
- - touches B et N : recherche automatique de canaux (en arriere pour B, en
- avant pour N). La led "Scroll" du clavier clignote durant la recherche
- (amusant non ?). La recherche s'arrete des qu'une chaine est trouvee. Pour
- l'arreter avant, il suffit d'appuyer sur n'importe quelle touche (ce qui
- ramenera de plus au canal initial).
-
- - touche A : affichage d'une mire TV en couleurs. Permet de verifier le bon
- fonctionnement de la carte BT848 lorsque aucune image n'apparait.
-
- - touche Z : commutation en mode "luminance etendue". Cela permet d'obtenir
- des images plus contrastees. Cette touche est equivalente au parametre -
- btrange.
-
- - touche E : commutation de la suppression de la correction gamma. Cela
- permet d'obtenir des images plus contrastees a condition d'agir ensuite sur
- le contraste et la luminosite. Cette touche est equivalente au parametre -
- btgamma.
-
- - touche R : utilisation du filtre de dithering (flou) horizontal (4 filtres
- possibles). L'ajout d'un filtrage important permet de compenser efficacement
- les problemes dus a une mauvaise reception video, ou a l'inverse de rendre
- l'image tres nette dans le cas d'une excellente reception. Cette touche est
- equivalente au parametre -btfilt.
-
- - touche T : modification du registre de coring (seuillage du noir). Cette
- touche est equivalente au parametre -btcore.
-
- - touche Y : modification du "pixel step". Cette touche est equivalente au
- parametre -step.
-
- - touche U : commutation du filtre de luminance (image plus ou moins nette).
-
- - touche I : changement du mode "double scan". Cette touche est equivalente
- au parametre -dscan.
-
- - touche O : cropping manuel de l'image. Diminue/augmente la taille verticale
- de l'image (bandes noires en haut et en bas).
-
- - touche BACKSPACE : choix de la phase de couleur pour le mode video 3 (voir
- l'option -vmode 3).
-
- - barre ESPACE : arret sur image (pour montrer a maman).
-
- - touche RETURN : commuation entre les modes decodage et previsualisation.
-
- - touche ESC : sortie.
-
- Les parametres suivants ne fonctionnent que si le mode audio est active (-
- amode 1 ou plus) :
-
- - touche 5 : modification du gain d'entree de la carte audio. Cette touche
- est equivalente au parametre -gain
-
- - touche * : changement de mode audio. Cette touche est equivalente au
- parametre -amode.
-
- - touche / : changement de source audio. Cette touche est equivalente au
- parametre -asrc. Ne fonctionne qu'en mode tuner (pas en mode -tuner 0)
-
- - touches - et + : ajustement du volume. Cette touche est equivalente au
- parametre -vol.
-
- - touches D et F : ajustement des graves (respectivement - et +). Cette
- touche est equivalente au parametre -bass.
-
- - touches G et H : ajustement des aigus (respectivement - et +). Cette touche
- est equivalente au parametre -treble.
-
- - touches J et K : ajustement de la frequence d'echantillonnage par pas de 16
- (uniquement avec -amode 3). Ces touches sont equivalentes au parametre -
- ashift.
-
- - touches L et M : meme action mais avec un pas de 1 (reglage fin).
-
-